package Window;


import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class PathFrame extends JFrame implements ItemListener {
	JLabel label1,label2,label3;//定义标签。
	JButton btn;//定义按钮
	JComboBox box1,box2;//选择框
	JTextArea route;//文本域
	JPanel pl1;//面板
	String start,end;
	private int a,b;

	public PathFrame() {//界面
		label1 = new JLabel("请选择出发点：");
		label2 = new JLabel("请选择目的地：");
		btn = new JButton("查询路径");
		box1 = new JComboBox();//选择框中内容
		box1.addItem("  ");
		box1.addItem("明月公园");
		box1.addItem("三国公园");
		box1.addItem("九老仙都景区");
		box1.addItem("荆州盆景区");
		box1.addItem("荆州博物馆");
		box1.addItem("关公义园");
		box1.addItem("御河广场");
		box1.addItem("关帝庙");
		box2 = new JComboBox();
		box2.addItem("  ");
		box2.addItem("明月公园");
		box2.addItem("三国公园");
		box2.addItem("九老仙都景区");
		box2.addItem("荆州盆景区");
		box2.addItem("荆州博物馆");
		box2.addItem("关公义园");
		box2.addItem("御河广场");
		box2.addItem("关帝庙");
		route = new JTextArea(5, 40);//输出文本内容以及文本域框的大小
		pl1 = new JPanel(new FlowLayout(FlowLayout.CENTER, 30, 20));//面板尺寸
		pl1.add(label1);//以下为在面板上加入之前所定义的文本域、按钮等等
		pl1.add(box1);
		pl1.add(label2);
		pl1.add(box2);
		pl1.add(btn);
		pl1.add(new JScrollPane(route));
		pl1.setBounds(0, 0, 500, 400);//显示在桌面的位置
		box1.addItemListener( this);//增加监听器
		box2.addItemListener( this);//增加监听器
	//	btn.addActionListener( this);
		add(pl1);
		setBounds(700, 300, 500, 400);//界面大小

		btn.addActionListener(new ActionListener() {//对“查询路径”按钮添加监听事件

			@SuppressWarnings("deprecation")
			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				if (a == 0 && b == 0) {
					route.setText("0m");
				}
				if (a==0 && b==1) {
					route.setText("荆州北路,500m");
				}
				if (a==0 && b==2) {
					route.setText("内环北路西段，2000m");
				}
				if (a==0 && b==3){
					route.setText("内环北路西段→内环北路中段，2200m");
				}
				if (a == 0 && b == 4) {
					route.setText("内环北路西段→内环北路中段→拥军路，3200m");
				}
				if (a==0 && b==5) {
					route.setText("内环北路西段→内环北路用中段→内环北路东段，3000m");
				}
				if (a==0 && b==6) {
					route.setText("内环北路西段→内环北路用中段→内环北路东段→内环东路，4000m");
				}
				if (a==0 && b==7){
					route.setText("荆州北路→卸甲山路，1000m");
				}
				if (a == 1 && b == 0) {
					route.setText("荆州北路,500m");
				}
				if (a==1 && b==1) {
					route.setText("0m");
				}
				if (a==1 && b==2) {
					route.setText("荆州北路→内环北路西段，2000m");
				}
				if (a==1 && b==3){
					route.setText("荆州北路→内环北路西段→内环北路中段，2200m");
				}
				if (a == 1 && b == 4) {
					route.setText("荆州北路→内环北路西段→内环北路中段→拥军路，3200m");
				}
				if (a==1 && b==5) {
					route.setText("荆州北路→内环北路西段→内环北路用中段→内环北路东段，3000m");
				}
				if (a==1 && b==6) {
					route.setText("卸甲山路→内环南路西段→内环南路东段，4500m");
				}
				if (a==1 && b==7){
					route.setText("卸甲山路，500m");
				}
				if (a == 2 && b == 0) {
					route.setText("，2000m");
				}
				if (a==2 && b==1) {
					route.setText("荆州北路,500m");
				}
				if (a==2 && b==2) {
					route.setText("0m");
				}
				if (a==2 && b==3){
					route.setText("内环北路中段，200m");
				}
				if (a == 2 && b == 4) {
					route.setText("内环北路中段→拥军路，1400m");
				}
				if (a==2 && b==5) {
					route.setText("内环北路用中段→内环北路东段，2000m");
				}
				if (a==2 && b==6) {
					route.setText("内环北路中段→内环北路东段→内环东路，2000m");
				}
				if (a==2 && b==7){
					route.setText("内环北路西段→荆州北路→卸甲山路，1500m");
			    }
				if (a == 3 && b == 0) {
					route.setText("内环北路中段→内环北路西段→荆州北路，2700m");
				}
				if (a==3 && b==1) {
					route.setText("内环北路中段→内环北路西段,2200m");
				}
				if (a==3 && b==2) {
					route.setText("内环北路中段，200m");
				}
				if (a==3 && b==3){
					route.setText("0m");
				}
				if (a == 3 && b == 4) {
					route.setText("拥军路，1800m");
				}
				if (a==3 && b==5) {
					route.setText("内环北路东段，1500m");
				}
				if (a==3 && b==6) {
					route.setText("内环北路东段→内环东路，2500m");
				}
				if (a==3 && b==7) {
					route.setText("拥军路→内环南路西段，4300m");
				}
				if (a == 4 && b == 0) {
					route.setText("拥军路→内环北路中段→内环北路西段，3400m");
				}
				if (a==4 && b==1) {
					route.setText("内环南路西段,2500m");
				}
				if (a==4 && b==2) {
					route.setText("拥军路→内环北路中段，1400m");
				}
				if (a==4 && b==3){
					route.setText("拥军路，1200m");
				}
				if (a == 4 && b == 4) {
					route.setText("0m");
				}
				if (a==4 && b==5) {
					route.setText("拥军路→内环北路东段，3000m");
				}
				if (a==4 && b==6) {
					route.setText("内环南路东段，1500m");
				}
				if (a==4 && b==7){
					route.setText("内环南路西段，2500m");
				}
				if (a == 5 && b == 0) {
					route.setText("内环北路东段→内环北路中段→内环北路西段，4000m");
				}
				if (a==5 && b==1) {
					route.setText("内环北路东段→内环北路中段→内环北路西段→荆州北路，4500m");
				}
				if (a==5 && b==2) {
					route.setText("内环北路东段→内环北路中段，2000m");
				}
				if (a==5 && b==3){
					route.setText("内环北路东段，1800m");
				}
				if (a == 5 && b == 4) {
					route.setText("内环东路→内环南路东段，2500m");
				}
				if (a==5 && b==5) {
					route.setText("0m");
				}
				if (a==5 && b==6) {
					route.setText("内环东路，1000m");
				}
				if (a==5 && b==7){
					route.setText("内环东路→内环南路东段→内环南路西段，5000m");
				}
				if (a == 6 && b == 0) {
					route.setText("内环南路东段→内环南路西段→卸甲山路→荆州北路，5000m");
				}
				if (a==6 && b==1) {
					route.setText("内环南路东段→内环南路西段→卸甲山路，4500m");
				}
				if (a==6 && b==2) {
					route.setText("内环东路→内环北路东段→内环北路中段，3200m");
				}
				if (a==6 && b==3){
					route.setText("内环东路→内环北路东段，3000m");
				}
				if (a == 6 && b == 4) {
					route.setText("内环南路东段，1500m");
				}
				if (a==6 && b==5) {
					route.setText("内环东路，1800m");
				}
				if (a==6 && b==6) {
					route.setText("0m");
				}
				if (a==6 && b==7){
					route.setText("内环南路东段→内环南路西段，4000m");
				}
				if (a == 7 && b == 0) {
					route.setText("卸甲山路→荆州北路，1000m");
				}
				if (a==7 && b==1) {
					route.setText("卸甲山路，500m");
				}
				if (a==7 && b==2) {
					route.setText("卸甲山路→荆州北路→内环北路西段，3000m");
				}
				if (a==7 && b==3){
					route.setText("内环南路西段→拥军路，3300m");
				}
				if (a == 7 && b == 4) {
					route.setText("内环南路西段，2500m");
				}
				if (a==7 && b==5) {
					route.setText("内环南路西段→内环南路东段→内环东路，5000mm");
				}
				if (a==7 && b==6) {
					route.setText("内环南路西段→内环南路东段，4000m");
				}
				if (a==7 && b==7){
					route.setText("0m");
				}
			}
		});
	}


	/*public void actionPerformed(ActionEvent e) {
		String Route;
		if(e.getSource()==btn){
			Route=graph(a, b);
			route.setText(Route);
		}

	}*/

	public void itemStateChanged(ItemEvent e) {//对box1、box2增加监听器的居然内容
		if(e.getSource()==box1){
			start=box1.getSelectedItem().toString();
			if(start=="三国公园")
				a=0;
			else if(start=="荆州博物馆")
				a=1;
			else if(start=="九老仙都景区")
				a=2;
			else if(start=="荆州盆景区")
				a=3;
			else if(start=="关帝庙")
				a=4;
			else if(start=="明月公园")
				a=5;
			else if(start=="关公义园")
				a=6;
			else if(start=="御河广场")
				a=7;

		}
		if(e.getSource()==box2){
			end=box2.getSelectedItem().toString();
			if(end=="三国公园")
				b=0;
			else if(end=="荆州博物馆")
				b=1;
			else if(end=="九老仙都景区")
				b=2;
			else if(end=="荆州盆景区")
				b=3;
			else if(end=="关帝庙")
				b=4;
			else if(end=="明月公园")
				b=5;
			else if(end=="关公义园")
				b=6;
			else if(end=="御河广场")
				b=7;

		}
	}





	/*InitializeTripleTable start = new InitializeTripleTable;
	SpotTable spot;
	start.initializeTripleTable(spot);



	for (int i = 0; i < length(); i++) {
		path.set(i, spot.id, spot.name, spot.intro, spot.adj);
	}*/

/**************
 *这里要引用你的类，然后将信息存入
 * 然后在根据你的类来生成无向图
 * 最后通过无向图来输出两点之间的路径（最短和全部的）
 *
 */


	/*public String graph(int a, int b)
	{
		if(a=0,b=0){

	}*/

		/*String[] vertices={
				InformationNode.list.get(0).getName(),
				InformationNode.list.get(1).getName(),
				InformationNode.list.get(2).getName(),
				InformationNode.list.get(3).getName(),
				InformationNode.list.get(4).getName(),
				InformationNode.list.get(5).getName(),
				InformationNode.list.get(6).getName(),
				InformationNode.list.get(7).getName(),
				InformationNode.list.get(8).getName()
		};
		ThreeTuple[] edges={
				new ThreeTuple(1,2, InformationNode.list1.get(0).getLongs()),
				new ThreeTuple(1,4, InformationNode.list1.get(0).getLongs()),
				new ThreeTuple(2,3, InformationNode.list1.get(1).getLongs()),
				new ThreeTuple(2,1, InformationNode.list1.get(0).getLongs()),
				new ThreeTuple(3,2, InformationNode.list1.get(1).getLongs()),
				new ThreeTuple(3,7, InformationNode.list1.get(8).getLongs()),
				new ThreeTuple(3,0, InformationNode.list1.get(2).getLongs()),
				new ThreeTuple(4,6, InformationNode.list1.get(6).getLongs()),
				new ThreeTuple(4,1, InformationNode.list1.get(7).getLongs()),
				new ThreeTuple(5,0, InformationNode.list1.get(3).getLongs()),
				new ThreeTuple(5,7, InformationNode.list1.get(4).getLongs()),
				new ThreeTuple(6,4, InformationNode.list1.get(6).getLongs()),
				new ThreeTuple(6,7, InformationNode.list1.get(5).getLongs()),
				new ThreeTuple(7,6, InformationNode.list1.get(5).getLongs()),
				new ThreeTuple(7,3, InformationNode.list1.get(8).getLongs()),
				new ThreeTuple(7,5, InformationNode.list1.get(4).getLongs()),*/


	/*};
		/*MatrixGraph<String> graph = new MatrixGraph<String>(vertices, edges);
		return graph.shortestPath(a,b);
	}*/

	}
